# knowledge/util/tools.py

import logging
import os
from typing import Optional

class LoggingHelper:
    """日志辅助工具类"""
    
    @staticmethod
    def info_if_verbose(logger: logging.Logger, verbose: bool, message: str, *args, **kwargs):
        """
        根据verbose控制日志的输出
        
        Args:
            logger: 日志记录器
            verbose: 是否详细模式
            message: 日志消息
        """
        if verbose:
            # verbose=true：使用INFO级别（控制台和文件都显示）
            logger.info(message, *args, **kwargs)
        else:
            # verbose=false：使用DEBUG级别（只在debug.log文件中记录，控制台不显示）
            logger.debug(message, *args, **kwargs)
    
    @staticmethod
    def always_info(logger: logging.Logger, message: str, *args, **kwargs):
        """
        始终使用INFO级别记录日志（无论verbose设置）
        """
        logger.info(message, *args, **kwargs)
    
    @staticmethod
    def always_warning(logger: logging.Logger, message: str, *args, **kwargs):
        """
        始终使用WARNING级别记录日志（无论verbose设置）
        """
        logger.warning(message, *args, **kwargs)
    
    @staticmethod
    def always_error(logger: logging.Logger, message: str, *args, **kwargs):
        """
        始终使用ERROR级别记录日志（无论verbose设置）
        """
        logger.error(message, *args, **kwargs)

# 创建全局实例
logging_helper = LoggingHelper()